What should library be

GENERAL:
- I think library should preserve uniquity ad simplicity in FASM as much as
  possible. We should prevent overbloating it with never-used code etc.
- It should be as portable as possible, eg. used same way on all systems
- Library should be same one on all systems, preserving FASM's feature to 
  generate same output from same source. This implies having mulptiple 
  versions of some modules (for different OSes) in library.
- In my opinion it should have two parts: 
  - macrolibrary which will be set on "macropack"s each containing set of macros
    solving with particular problem.
  - routine library will be set of "module"s. Module will be set of data and 
    procedures to manipulate something (like strings, window manipulating, opengl, 
    Input devices, OOP, etc.).



MACROLIBRARY:
- Each macropack will contain only and all macros solving particular problem
? There won't be more macropacks on same problem (like another type of PROC or
  so). This could cause problems with routines using macros, and we should keep
  uniquity of FASM
? One macropack won't include another, even if it requires it. Every macropack
  will declare kind-of constant and another macropack using it will first check
  for this constant and prompt user to includ it. This way user knows what he 
  is using. Of course there can be ugly include-all files, but user at least
  has possiblity to stay clear. Just look at C's "windows.h".

MODULE LIBRARY:
- MOdule is not dividable (eg. you have to include it whole, obvious)
? there can be more routinepacks on same problem (i don't mean for different
  OSes, but with different behavior). I think this wouldn't be very good
? MOdule doesn't include macropacks it uses, it only checks for them and
  promts user to include them if they aren't
? Module doesn't include module either
- Module define all equates for user
? Will modules declare variables to be directly accessed by user?
- Module can declare additional macros
